package com.szp.pgyer

import android.app.Activity
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import com.pgyer.pgyersdk.PgyerSDKManager
import com.pgyer.pgyersdk.callback.CheckoutCallBack
import com.pgyer.pgyersdk.model.CheckSoftModel
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.coroutines.MainScope

class MainActivity : AppCompatActivity() {

    var downlaodUrl: String? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //检查更新
        bt_check_update.setOnClickListener {
            check(this@MainActivity)
        }

        //下载更新
        bt_download.setOnClickListener {
            downlaodUrl?.let { it1 -> DownLoadApp(this@MainActivity).downloadApk(it1) }
        }

    }


    private fun check(activity: Activity) {
        PgyerSDKManager.checkVersionUpdate(activity, object : CheckoutCallBack {
            override fun onNewVersionExist(p0: CheckSoftModel?) {
                /**
                 *   检查版本成功（有新版本）
                 *   CheckSoftModel 参数介绍
                 *
                 *    private int buildBuildVersion;//蒲公英生成的用于区分历史版本的build号
                 *     private String forceUpdateVersion;//强制更新版本号（未设置强置更新默认为空）
                 *     private String forceUpdateVersionNo;//强制更新的版本编号
                 *     private boolean needForceUpdate;//	是否强制更新
                 *     private boolean buildHaveNewVersion;//是否有新版本
                 *     private String downloadURL;//应用安装地址
                 *     private String buildVersionNo;//上传包的版本编号，默认为1 (即编译的版本号，一般来说，编译一次会
                 *    变动一次这个版本号, 在 Android 上叫 Version Code。对于 iOS 来说，是字符串类型；对于 Android 来
                 *    说是一个整数。例如：1001，28等。)
                 *     private String buildVersion;//版本号, 默认为1.0 (是应用向用户宣传时候用到的标识，例如：1.1、8.2.1等。)
                 *     private String buildShortcutUrl;//	应用短链接
                 *     private String buildUpdateDescription;//	应用更新说明
                 */
                tv_desc.text =
                    "是否有新版本：\n${p0?.isBuildHaveNewVersion}\n 应用安装地址:\n${p0?.downloadURL} \n" +
                            "应用更新说明：\n${p0?.buildUpdateDescription}"

                downlaodUrl = p0?.downloadURL

                bt_download.isEnabled = true
            }

            override fun onNonentityVersionExist(p0: String?) {
                //未检测到新版本
                tv_desc.text = "未检测到新版本"

            }

            override fun onFail(p0: String?) {
                //版本检测失败
                tv_desc.text = "版本检测失败"
            }
        })
    }
}